通过FinOps实现成本控制和优化

本文介绍在云原生背景下,如何通过FinOps实现成本控制和优化,最终实现云上成本有效管控。

什么是FinOps?

FinOps(财务运营)是企业云财务管理文化和实践的结合,即“Finance” + “DevOps”。依据FinOps基金会的定义,FinOps是一种不断发展的云财务管理学科和文化实践,通过帮助工程师、财务、技术和业务团队协作制定数据驱动的支出决策,使企业能够获得最大的业务价值。

在云计算的背景下,FinOps的核心目标是使企业能够实现云资源的成本可预测性、透明度和责任性,从而确保在追求技术敏捷性和创新的同时,也能够控制和优化支出。

关于什么是成本洞察和成本优化,请参见成本套件概述

FinOps实现流程

要使FinOps实施取得预期的效果,企业需要具备以下条件。

  • 在准备阶段,建内部FinOps体系和团队,完成文化层面的转变,并建立清晰的FinOps战略目标。

  • 在实施阶段,企业需要建立全面的资源和成本监控,选择合适的成本优化策略,并形成长效运作机制,使云上成本可以有效管控。

image

下文将对实施FinOps前的准备阶段和FinOps实施阶段做详细说明。

实施FinOps前的准备工作

在准备实施FinOps前,需要您制定策略和转变意识,因为这些条件决定了FinOps能否顺利实施并取得预期的效果。主要需关注以下几点:

  • 推广FinOps的价值观:云原生场景下,资源和成本具有较高动态性,需要依赖运维、业务、财务等多个职能团队协同管理,这种情况下,每个成员都需要培养主动考虑成本的意识。

  • 确立共同的FinOps目标:需要从企业的高层到基层的成员之间形成共识,确立共同的FinOps目标,并将这些目标与公司的整体战略紧密对齐。

  • 建立全员参与的责任体系:需要构建全员共担的责任体系,以确保全员在实施过程中能够承担起相应的责任,共同推动FinOps目标的达成。

FinOps实施阶段

步骤一:成本洞察

在实施阶段,成本洞察是实施FinOps的第一步,同时也贯穿在整个FinOps流程。企业需要构建成本监控系统,重点能力包括:业务成本分摊、资源监控、成本预测等。企业的不同角色由于职责不同,在成本洞察时也有各自的视角。

image
  • IT主管或财务:从全局视角查看总成本是否在预算范围内,成本趋势是否正常。

  • IT运维人员:在成本异常时,从资源层面检查是否资源付费策略可以优化,或查看造成成本异常的部门或业务,向下驱动业务团队检查。

  • 业务研发人员:检查对应业务的资源使用情况,分析成本上升原因,评估优化策略。

在云原生架构下,企业一般可以借助云原生FinOps工具解决业务成本分摊的问题。ACK成本套件也提供了成本洞察大盘以及成本数据导出API的能力,您可以直接使用维度丰富的成本洞察大盘,也可以基于成本API构建内部FinOps系统。详细信息,请参见企业成本洞察最佳实践

步骤二:成本优化

在成本优化阶段,企业首先需要根据资源水位和成本预算评估可优化空间,业务人员(研发人员)再根据资源分配、付费策略以及业务情况等确定优化策略,最后再根据优化策略进行成本优化。

image
  • 选择业务无感的优化策略

    对于企业常见因资源利用率低导致的浪费,您可以从资源分配或付费策略方面进行优化。

    • 优化应用的资源分配:通过资源画像调整资源申请和限制值,优化调度策略。

    • 调整云资源采购策略:调整实例规格组合,优化付费策略,清理闲置资源。

  • 选择业务感知的优化策略

    • 使用合适的弹性能力:弹性伸缩是ACK被广泛采用的功能,典型的场景包含在线业务弹性、大规模计算训练、深度学习GPU或共享GPU的训练与推理、定时周期性负载变化等。从伸缩维度划分,可包括工作负载伸缩和节点伸缩。

    • 使用混部能力:典型场景如动态资源超卖,充分挖掘集群中已分配但未使用的资源量;或通过在离线混部概述同时部署在线业务和离线应用,充分利用资源。

步骤三:成本控制

完成成本洞察和成本优化后,可以通过成本控制来保障整个成本治理的流程处于可控状态下,防止因成本治理周期较长,导致集群和应用的费用超出限额或者增速过快的情况。关于如何控制成本,请参见成本控制

相关文档

  • 如需可视化地查看成本洞察大盘,或者需要通过HTTP API查看部门和应用分摊集群账单的成本,请参见企业成本洞察最佳实践通过Allocation API获取

  • 如有降低容器配置Request和Limit复杂性的需求,可以通过资源画像功能实现容器粒度的资源规格推荐,帮助您调整应用规格配置。详细信息,请参见资源画像

  • 对于多云和混合云场景,资源可能来自不同云厂商甚至线下环境,您可以通过ACK One实现混合云成本管理,请参见集群成本洞察